package com.chen.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.chen.dto.ClassDTO;
import com.chen.entity.Classes;
import com.chen.vo.ClassesVO;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * 班级相关服务
 */
@Service
public interface ClassesService extends IService<Classes> {

    /**
     * 获取全部班级信息
     * @return
     */
    public List<ClassesVO> findAllClasses();

    /**
     * 根据年级查找班级信息
     * @param gradeId
     * @return
     */
    public List<ClassesVO> findClassesByGradeId(Integer gradeId);

    /**
     * 根据条件查找班级信息
     * @param gradeId
     * @param className
     * @param classId
     * @return
     */
    public List<ClassesVO> getClasses(Integer gradeId, String className, Integer classId);

    /**
     * 通过id获取班级信息
     * @param classId
     * @return
     */
    public ClassesVO getClassById(Integer classId);

    /**
     * 新增班级信息
     * @param dto
     * @return
     */
    public Integer saveClasses(ClassDTO dto);

    /**
     * 修改班级信息
     * @param dto
     * @return
     */
    public Integer updateClasses(ClassDTO dto);

    /**
     * 删除班级信息
     * @param classId
     * @return
     */
    public Integer delClass(Integer classId);

    public Map<String, Object> getStudentCountForClass(Integer gradeId);

    /**
     * 通过id获取班级数据
     * @param teacherId
     * @return
     */
    public ClassesVO getClassByTeacherId(Integer teacherId);
}
